﻿namespace SilenthinkContract.Domain
{
    public class OAuthConfig : IEntity<int>
    {
        public int Id { get; set; }
        /// <summary>
        /// Name of client .
        /// </summary>
        public string ClientName { get; set; }

        /// <summary>
        /// Client ID (ID of your application).
        /// </summary>
        public string ClientId { get; set; }

        /// <summary>
        /// Client secret.
        /// </summary>
        public string ClientSecret { get; set; }

        /// <summary>
        /// Public key.
        /// </summary>
        public string ClientPublic { get; set; }

        /// <summary>
        /// Scope - contains set of permissions which user should give to your application.
        /// </summary>
        public string Scope { get; set; }

        /// <summary>
        /// Redirect URI (URI user will be redirected to 
        /// after authentication using third-party service).
        /// </summary>
        public string RedirectUri { get; set; }
        /// <summary>
        /// 
        /// </summary>
        public string BaseUri { get; set; }

        public string AuthorizationCodeResource { get; set; }
        public string AccessTokenResource { get; set; }
        public string UserInfoResource { get; set; }

        /// <summary>
        /// Client state: enabled or disabled.
        /// </summary>
        public bool Status { get; set; }

    }
}